public class Interview_009 {

    /**
     * 1.题目
     * 一只青蛙一次可以跳上1级台阶，也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
     * <p>
     * 2.考点:
     * 递归
     * <p>
     * 3.解析
     * https://www.nowcoder.com/profile/286927/codeBookDetail?submissionId=1522855
     */
    public int JumpFloorII(int target) {
/* 1.刚开始台阶如果<=0,就属于不合法的情况。所以应该返回-1
 * 2.如果台阶>0,那么递归最后的出口肯定是 target = 1 的时候。虽然那个链接里将的是f(0) = 1,
 * 但还是要结合实际情况考虑
 */
        if (target <= 0) {
            return -1;
        } else if (target == 1) {
            return 1;
        } else {
            return 2 * JumpFloorII(target - 1);
        }
    }

}
